perm filename NUMER.POX[POX,WD] blob sn#405493 filedate 1978-12-21 generic text, type T, neo UTF8
\|\\;				Define Brick Character
\;
\⊂'000040;\;	VERREM - REM's syntax for defining macros with args 
\;
\8EVAL(STRING)[⊗STRING⊗]\;
\8OMIT(STRING)[]\;
\8SETOM(REG)[\P\←=1;\→⊗REG⊗\p]\;	set REG to one
\8SETZM(REG)[\P\←=0;\→⊗REG⊗\p]\;	set REG to zero
\8LOADAC(VAR)[\!EVAL((\←=)\!⊗VAR⊗;(;));]\;	load ac with var
\∞TRACEAC[\!EVAL((\m{)(ac=)\D∀( )(}));]\;	trace ac
\;
\8TRACEQREG(VAR)[\N		trace Q-register
\	;\P\N				save ac
\	;\!EVAL((\m{)⊗VAR⊗(=)\D⊗VAR⊗( )(}));\N
\	;\N				type Q-reg
\	;\p]\;				restore ac
\;
\8TRACEVAR(VAR)[\N		trace variable
\	;\P\N				save ac
\	;\!LOADAC(⊗VAR⊗);\N		put var in ac
\	;\!EVAL((\m{)⊗VAR⊗(=)\D∀( )(}));\N
\	;\N				type trace
\	;\p]\;				restore ac
\;
\8INCR(VAR)[\N			increment variable
\	;\P\N				save ac
\	;\!LOADAC(⊗VAR⊗);\N		load ac with var
\	;\!EVAL((\∂←)⊗VAR⊗(;));\N	expunge old var def
\	;\+=1;\N			add 1 to ac
\	;\!EVAL((\∞)⊗VAR⊗([)\D∀(]));\N
\	;\N				redefine var
\	;\p]\;				restore ac
\;
\8COMPAC(ARG)[\N		complement ac
\	;\!EVAL(⊗ARG⊗);\N		evaluate argument
\	;\Q0\N				save reg 0
\	;\!SETOM(0);\N			put a 1 in reg 0
\	;\?SETZM(0);\N			if ac > 0 set reg 0 to 0
\	;\←0\N				load ac from reg 0
\	;\q0]\;				restore reg 0
\;
\∞ISACZERO[\N			is ac zero
\	;\Q0\N				save reg 0
\	;\→0\N				store ac in 0
\	;\*0\N				mult ac by reg 0
\	;\!COMPAC;\N			complement ac
\	;\q0]\;				restore reg 0
\;
\∞ISACEVEN[\%=2;\¬=1;]\;
\;
\∞ISACODD[\%=2;]\;
\;